Skip to content

fix(writing): finish requests when Claude exits without an answer - #2402

Merged
r3dbars merged 1 commit into
mainfrom
codex/review-writing-app-4
Nov 12, 2026
Merged

r3dbars merged 1 commit into
mainfrom
codex/review-writing-app-4

Conversation

@r3dbars

@r3dbars r3dbars commented Nov 10, 2026

Copy link
Copy Markdown
Owner

A Claude child that exited without a result left Write for Me waiting for its timeout. Observe output closure after buffered JSON is consumed, replay it to late observers, and finish stream/structured requests through the existing once guard. A final answer wins before EOF; failed sends receive the same bounded lifecycle error. Default spawning, opt-in gates and timeout durations remain intact.

The inspected NextSentenceExit filter passed 11 assertions using only owned fixed shell children and manually fired timeout callbacks. Omitting the two request end registrations produced four failures while seven result/EOF/late-observer controls passed. Tests check completion/exit ordering without sleeps or elapsed-time assertions, log only fixed outcome labels, and await child exit before guarded fixture cleanup.

On cad31bd, guarded check.sh passed 23 checks and explicitly BLOCKED the full fast suite (exit 3): overall FAIL, source stable/clean. Standalone preflight passed. App build, concurrency census and runner-completion checks passed. Full-suite proof awaits isolated validation. verify-change.sh marked UI SKIP because Transcripted was running; nothing was quit or launched.

Independent full diff and fixture-safety review against fetched origin/main: GREEN, including termination notification and serialized callback boxing. No real Claude/model/account, window capture or cloud call was used. Stderr-backed error-result handling remains outside this focused proof; #2336 owns its separate fix and overlaps the LineProcess fast-source-list entry. Keep one list entry when integrating. Draft only; no merge requested.

@r3dbars
r3dbars merged commit e6b1b92 into main Nov 12, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant